﻿using UnityEngine;
using System.Collections;
using System.Collections.Generic;

namespace FSM
{
    public abstract class FSMState
    {
        public int type;
        public int lazyTime;

        protected FSMMachineBase m_parent;

        public FSMState(int type, FSMMachineBase parent)
        {
            this.type = type;
            m_parent = parent;
            lazyTime = 0;
        }
        public virtual void Init() { }
        public virtual void Enter() { /*Debug.Log("Enter state: " + type.ToString());*/ }
        public virtual void Exit() { }
        public virtual void Update() { /*Debug.Log("Update state: " + type.ToString());*/ }
        public abstract int CheckTransitions(int t);
    }
}